// @ts-nocheck
import { ref, onMounted, computed, reactive, watch } from "vue"
import { useRoute } from "vue-router"
import * as util from "@/utils"
import { 成插件api } from "amtf/api/插件api"
// import { use提示, 提示enum } from "@/hooks/use提示"
import { 提示enum } from "amtf/utils"
// const 插件mds = import.meta.glob(["@/aa/*.ts", "!@/aa/*copy*", "!@/aa/*d.ts", "!@/aa/enum.ts"])
const 公用字段名s = ["编号", "状态"]
export default function (cfg = {}) {
    async function 成插件() {
        // 新增文件后，需要重启👇
        const 插件mds = import.meta.glob(["@/aa/*.ts", "!@/aa/*copy*", "!@/aa/*==*", "!@/aa/*d.ts", "!@/aa/enum.ts"])
        // console.log(`插件mds 👉`,插件mds)
        const 插件s = []
        for (const [path, importFunction] of Object.entries(插件mds)) {
            const module = await importFunction()
            const 插件: 插件 = module.default
            // console.log(`插件 👉`, 插件)
            for (const 组件 of 插件.组件s) {
                const 字段集 = {}
                组件.字段组.forEach(字段 => {
                    字段集[字段.名称] = 字段
                })

                // 如果没有配置公用字段，则添加👇
                const 拟添加字段组 = []
                for (const 字段名 of 公用字段名s) {
                    if (!字段集[字段名]) {
                        const 字段: 字段 = { 名称: 字段名 }
                        拟添加字段组.push(字段)
                    }
                }
                组件.字段组.unshift(...拟添加字段组)

                for (const 字段 of 组件.字段组) {
                    if (公用字段名s.includes(字段.名称)) {
                        字段.是公用字段 = true
                    }
                    if (字段.名称 == '编号') {
                        字段.有链接 = true
                    }
                    if (字段.名称 == '状态') {
                        if (!字段.显示设置_独立详情) {
                            字段.显示设置_独立详情 = { 隐藏: true }
                        }
                        if (!字段.显示设置_子表中_简化详情) {
                            字段.显示设置_子表中_简化详情 = { 隐藏: true }
                        }
                    }
                }
                // console.log(`组件.字段组 👉`, 组件.字段组)
            }
            插件s.push(插件)
        }
        // return
        util.提示(提示enum.成功, '插件s数量:' + 插件s.length)

        const res = await 成插件api(插件s)
        console.log(`成插件api res 👉`, res)
        if (res.code == 0) {
            util.提示()
        } else {
            util.提示(提示enum.出错)
            console.log(`成插件api res 👉`, res)
        }
    }

    async function 成插件_单个废() {
        const res = await 成插件api(基础插件)
        console.log(`成插件api res 👉`, res)
        if (res.code == 0) {
            util.提示()
        } else {
            util.提示(提示enum.出错)
            console.log(`成插件api res 👉`, res)
        }
    }

    return {
        成插件,
    }
}
